#pragma once

#include <cstdint>

namespace limbo::details {

uint16_t checksum(const void *data, uint32_t data_size);

uint16_t checksum_add(uint16_t r, uint16_t l);

uint16_t checksum_sub(uint16_t r, uint16_t l);

} // namespace limbo::details
